import pandas as pd
import numpy as np
from pyecharts_charts import *

# 读取数据
data = pd.read_csv("./data/心脏疾病数据集.csv")

# 数据预处理
data = data.dropna()
data['bmi'] = data['weight'] / ((data['height'] / 100) ** 2)
data['age'] = data['age_year'].round().astype(int)
data['gender'] = data['gender'].map({1: '女性', 2: '男性'})

# 绘图并分别保存为 HTML
age_distribution_bar(data).render("./templates/a.html")  # 年龄分布柱状图
gender_disease_pie(data).render("./templates/b.html")  # 患病人群性别比例饼图
cardio_rate_by_age_group(data).render("./templates/c.html")  # 年龄组心脏病患病率
health_indicators_analysis(data).render("./templates/d.html")  # 健康状况指标
indicator_radar(data).render("./templates/e.html")  # 主要体征指标
lifestyle_bar(data).render("./templates/f.html")  # 生活习惯与心脏病柱状图
feature_correlation_heatmap(data).render("./templates/g.html")  # 特征相关性热力图

print("所有图表已保存为HTML")
